Since 1984, the de-facto standard legacy disk partitioning systems has been in use for MS-DOS based computer systems (these are also known as IBM compatibles). A partition is a contiguous space of storage on a disk (physical or logical). Each partition functions like a separate disk. Partitions may be accessed by a system firmware and also by an operating system (OS). A hard disk may contain one or more partitions. The legacy partitions are often formatted with file allocation tables (FATs) to partition hard disks, such as FAT12, FAT16 and FAT32.
FIG. 1 illustrates a hard disk 100 employing the legacy partitioning scheme. As shown, the legacy-partitioned hard disk 100 includes a master boot record (MBR) 110. The MBR 110 typically contains a standard bootstrap code, which includes information of the location of the code to boot the computer system. The MBR 110 also contains a legacy partition table, which contains four records (not shown). Each record of the legacy partition table can describe a partition. One record always describes a main partition 130.
The legacy-partitioned hard disk 100 also includes an end of track 120, which is unused except by some setup programs in WINDOWS OS. The reason for the end of track 120 is that the legacy partitioning scheme requires a partition to start on a track boundary, and the MBR 110 does not occupy the entire track. The end of track 120 occupies the remainder of the track not occupied by the MBR 110.
The legacy-partitioned hard disk 100 further includes the main partition 130, which contains bulk of the data and programs. For example, the actual OS program may be included in the main partition 130. The legacy-partitioned hard disk 100 can include up to three extended partitions 140 corresponding to the three remaining partition records in the MBR 110. The extended partition(s) 140 may be sub partitioned even further.
The capacity of the disks has grown tremendously, from about 5 megabytes (MB) in 1984 to 100 gigabytes (GB) and more today. This has allowed larger and larger partitions to be created on a hard disk, which has in turn allowed personal computer (PC) manufacturers and users to separate data into their own partitions. For example, a first partition may used to store an active operating system such as DOS, WINDOWS, and the like; a second partition may be used to store a recovery tool that is able to restore the active OS in case of failure; a third partition may be for diagnostic tools; and the like. However, the tremendous growth of disk capacities has pushed the limits of the legacy partitioning scheme, and in many cases, the disk capacities have gone beyond the legacy limits.
To overcome the limitations of the legacy partitioning scheme, PC manufacturers and independent software vendors (ISVs) developed their own system management and other software tools. In most or all cases, the tools are proprietary and thus are incompatible with each other. In addition, these proprietary tools tamper with the MBR of the of the legacy partitioning table.
Intel has introduced an Extensible Firmware Interface (EFI) specification for the IA-64 basic input output system (BIOS). The EFI specification includes a new partitioning scheme GPT (GUID Partition Table, GUID standing for global unique identifier—a universally unique 128-bit number) defining how the hard disks are to be partitioned. The GPT scheme overcomes the size limitations of the legacy schemes and does not tamper with the MBR.
FIG. 2 illustrates a hard disk 200 employing the GPT scheme. As shown, the GPT-partitioned hard disk 200 includes a protective MBR (PMBR) 210. Like the MBR 110 of the legacy-partitioned hard disk 100, the PMBR 210 of GPT-partitioned hard disk 200 contains a standard bootstrap code and a legacy partition table. The table entry of the PMBR 210 also includes a legacy protect entry. The GPT-partitioned hard disk 200 also includes an end of track 220, to maintain compatibility with existing legacy tools that do not understand GPT partition structures. The GPT-partitioned hard disk 200 further includes a GPT table header 240 and a GPT partition area 250. While not shown, a duplicate GPT table header exists at the end of the disk 200 for redundancy purposes.
The main drawback to the standard GPT is that the GPT requires EFI-compliant operating systems. In other words, an EFI-less system, i.e. a legacy BIOS system, will not boot from a hard disk that is GPT partitioned under the current standard. In addition, the standard GPT is not backward compatible with older PC operating systems. Thus the standard GPT cannot be adopted to situations where backward compatibility is important.